The use of streaming multimedia content is gaining popularity as Internet connectivity is becoming increasingly ubiquitous, permeate, fast and reliable. In addition, better and faster audio-visual compression/decompression technologies have made the streaming of multimedia content possible over large networks that may include the Internet. As a result, such networks are becoming not just a source of connectivity for communication, but also a source of streaming multimedia content for both education and entertainment.
Despite improvements in compression/decompression and improved Internet access speeds, streaming multimedia still consumes large amounts of resources with regard to the server of the content as well as available bandwidth of networks. Several techniques have been developed in an effort to address the problem of significant loading on networks and/or servers caused by streaming multimedia. One well established technique for reducing such loading involves some form of caching of the streaming content. In general, caching is a form of duplicated data storage in which the streaming content is cached at a location separate from the server acting as the source of the content. By fulfilling requests for the streaming content from a cache instead of the server, the loading on the server may be reduced. Another established technique involves locating the cache in close proximity to the request for the streaming content. Due to the close proximity, the response time may be improved and loading on the network may be decreased.
Typically, caching of streaming content is employed within a content distribution network to maintain close proximity to requests for such content. In general, content distribution networks may have hierarchical and/or distributed caching systems. In hierarchical systems, individual caches are organized in a hierarchy. Distributed caching systems rely on an overlapping mesh formed by the caches. In both types of systems, however, individual caches have a limited scope (geographically or logically) within which to provide caching services. Generally, an intermediate entity such as, for example, a proxy server receives requests from clients for streaming content. The intermediate entity typically serves a group of clients located in a relatively small geographical area. Other intermediate entities within the content distribution network serve clients in other geographical areas.
Upon receipt of a request for streaming multimedia content, the intermediate entity typically checks with associated cache(s) for availability. If the content is unavailable, the request is typically relayed to another (possibly higher level) intermediate entity or the original source of the streaming content. Accordingly, each cache serves client's requests within a finite operational area referred to as a subnet.
In the future, mobile nodes, such as wireless phones, personal digital assistants (PDAs) and other mobile communication/computing devices shall be enabled for high-speed Internet access via mobile networks. Accordingly, such mobile nodes may contribute an increasing share of multimedia content to overall network traffic, to the point of eventually surpassing traditional voice traffic.
The presence of such mobile nodes presents new challenges for distributed caching systems. As mobile nodes move within mobile networks, the systems accommodate the movement among different subnets. Within existing systems and networks, the underlying mobile network will typically try to forward streaming multimedia traffic to the mobile node's new subnet.
For example, with Mobile Internet Protocol (IP), communication with a roaming mobile node may be passed through a home address of the mobile node prior to being sent to the subnet in which the roaming mobile node is located. Alternatively, the roaming mobile node may provide a care of address identifying a new subnet of the roaming mobile node. Communications may then be directed to the new subnet. Such communication may include streaming multimedia being served by a cache in the subnet that the mobile node occupied when the request for streaming multimedia was made by the mobile node. As a result, inter-subnet traffic may increase, which may lead to network congestion. Increases in inter-subnet traffic may increase delays, degraded quality of service and otherwise undermine the purpose of serving streaming multimedia content from a cache in close proximity to the client.
Another issue involves movement of mobile nodes among heterogeneous networks. Mobile nodes such as, for example, those in a cellular mobile network typically move to physically adjacent parts (subnets) of the mobile network. Physically adjacent parts of a mobile network, or two overlapping/adjacent mobile networks, however, may not mean that the mobile node's new location is logically adjacent to the mobile node's previous location. For example, the handoff of communications with a roaming mobile node from a cellular network to a wireless LAN that are physically close together, may be far away in terms of logical distance (such as IP hops distance). Such large logical distances may further increase delay, network traffic congestion and degradation of quality of service when streaming multimedia content is being served to a roaming mobile node.